package com.dragon.modules.yuegou.service.busd;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.common.web.PageRequest;
import com.dragon.modules.yuegou.entity.busd.GroupEntity;
import com.dragon.modules.yuegou.enums.busd.GroupStatus;
import com.dragon.modules.yuegou.model.busd.District;
import com.dragon.modules.yuegou.model.busd.Group;
import com.dragon.modules.yuegou.query.busd.GroupBusQuery;

import java.util.List;

/**
 * 集团表 服务接口
 *
 * @author pbuilder generated
 * @date 2019-03-19 08:59:40
 * @version 2.0
 */
public interface GroupService extends IService<GroupEntity> {

	/**
	 * 获取集团和该集团下商圈信息
	 * */
	List<Group> groupDistrict(String userId);

	/**
	 * 获取集团下商圈信息
	 * */
	Group groupDistrictByGroup(String userId,String groupId);

	/**
	 * 获取当前大运营用户可访问的商圈
	 * @param userId 系统用户
	 * @return 商圈列表（注意：ID使用的是X-DATA-ID规范，需要处理才能得到商圈ID）
	 */
	List<District> listMyDistrict(String userId);

	/**
	 * 分页获取集团商圈列表
	 * */
	IPage<Group> search(PageRequest page, GroupBusQuery query);

	/**
	 * 集团分页获取集团商圈列表
	 * */
	IPage<Group> searchGroup(PageRequest page, GroupBusQuery query);

	/**
	 * 添加/修改集团
	 * */
	void saveGroup(Group group);

	/**
	 * 获取集团信息
	 * */
	Group groupById(String groupId);

	/**
	 * 设置集团许可
	 * */
	void groupLicense(Group group);

	/**
	 * 个性化定制
	 * */
	void personalise(Group group);

	/**
	 * 启用/禁用商圈
	 * */
	void endisableGroup(String groupId, GroupStatus groupStatus);

	/**
	 * 通过商圈id，查找对应的集团下的miniappid
	 * */
	String getMiniAppIdByBusdId(String busdId);

	/**
	 * 通过商圈id，查找对应的集团下的appid
	 * */
	String getAppIdByBusdId(String busdId);

}